﻿using System;
using System.Runtime.InteropServices;

namespace Valve.VR
{
	// Token: 0x02000527 RID: 1319
	public class CVRApplications
	{
		// Token: 0x06001BC2 RID: 7106 RVA: 0x00011BAB File Offset: 0x0000FDAB
		internal CVRApplications(IntPtr pInterface)
		{
			this.FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications));
		}

		// Token: 0x06001BC3 RID: 7107 RVA: 0x0005F644 File Offset: 0x0005D844
		public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary)
		{
			return this.FnTable.AddApplicationManifest(pchApplicationManifestFullPath, bTemporary);
		}

		// Token: 0x06001BC4 RID: 7108 RVA: 0x0005F668 File Offset: 0x0005D868
		public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath)
		{
			return this.FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath);
		}

		// Token: 0x06001BC5 RID: 7109 RVA: 0x0005F688 File Offset: 0x0005D888
		public bool IsApplicationInstalled(string pchAppKey)
		{
			return this.FnTable.IsApplicationInstalled(pchAppKey);
		}

		// Token: 0x06001BC6 RID: 7110 RVA: 0x0005F6A8 File Offset: 0x0005D8A8
		public uint GetApplicationCount()
		{
			return this.FnTable.GetApplicationCount();
		}

		// Token: 0x06001BC7 RID: 7111 RVA: 0x0005F6C8 File Offset: 0x0005D8C8
		public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex, string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetApplicationKeyByIndex(unApplicationIndex, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06001BC8 RID: 7112 RVA: 0x0005F6EC File Offset: 0x0005D8EC
		public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetApplicationKeyByProcessId(unProcessId, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06001BC9 RID: 7113 RVA: 0x0005F710 File Offset: 0x0005D910
		public EVRApplicationError LaunchApplication(string pchAppKey)
		{
			return this.FnTable.LaunchApplication(pchAppKey);
		}

		// Token: 0x06001BCA RID: 7114 RVA: 0x0005F730 File Offset: 0x0005D930
		public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, AppOverrideKeys_t[] pKeys)
		{
			return this.FnTable.LaunchTemplateApplication(pchTemplateAppKey, pchNewAppKey, pKeys, (uint)pKeys.Length);
		}

		// Token: 0x06001BCB RID: 7115 RVA: 0x0005F758 File Offset: 0x0005D958
		public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType, string pchArgs)
		{
			return this.FnTable.LaunchApplicationFromMimeType(pchMimeType, pchArgs);
		}

		// Token: 0x06001BCC RID: 7116 RVA: 0x0005F77C File Offset: 0x0005D97C
		public EVRApplicationError LaunchDashboardOverlay(string pchAppKey)
		{
			return this.FnTable.LaunchDashboardOverlay(pchAppKey);
		}

		// Token: 0x06001BCD RID: 7117 RVA: 0x0005F79C File Offset: 0x0005D99C
		public bool CancelApplicationLaunch(string pchAppKey)
		{
			return this.FnTable.CancelApplicationLaunch(pchAppKey);
		}

		// Token: 0x06001BCE RID: 7118 RVA: 0x0005F7BC File Offset: 0x0005D9BC
		public EVRApplicationError IdentifyApplication(uint unProcessId, string pchAppKey)
		{
			return this.FnTable.IdentifyApplication(unProcessId, pchAppKey);
		}

		// Token: 0x06001BCF RID: 7119 RVA: 0x0005F7E0 File Offset: 0x0005D9E0
		public uint GetApplicationProcessId(string pchAppKey)
		{
			return this.FnTable.GetApplicationProcessId(pchAppKey);
		}

		// Token: 0x06001BD0 RID: 7120 RVA: 0x0005F800 File Offset: 0x0005DA00
		public string GetApplicationsErrorNameFromEnum(EVRApplicationError error)
		{
			IntPtr ptr = this.FnTable.GetApplicationsErrorNameFromEnum(error);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06001BD1 RID: 7121 RVA: 0x0005F828 File Offset: 0x0005DA28
		public uint GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, string pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyString(pchAppKey, eProperty, pchPropertyValueBuffer, unPropertyValueBufferLen, ref peError);
		}

		// Token: 0x06001BD2 RID: 7122 RVA: 0x0005F850 File Offset: 0x0005DA50
		public bool GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyBool(pchAppKey, eProperty, ref peError);
		}

		// Token: 0x06001BD3 RID: 7123 RVA: 0x0005F874 File Offset: 0x0005DA74
		public ulong GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyUint64(pchAppKey, eProperty, ref peError);
		}

		// Token: 0x06001BD4 RID: 7124 RVA: 0x0005F898 File Offset: 0x0005DA98
		public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch)
		{
			return this.FnTable.SetApplicationAutoLaunch(pchAppKey, bAutoLaunch);
		}

		// Token: 0x06001BD5 RID: 7125 RVA: 0x0005F8BC File Offset: 0x0005DABC
		public bool GetApplicationAutoLaunch(string pchAppKey)
		{
			return this.FnTable.GetApplicationAutoLaunch(pchAppKey);
		}

		// Token: 0x06001BD6 RID: 7126 RVA: 0x0005F8DC File Offset: 0x0005DADC
		public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType)
		{
			return this.FnTable.SetDefaultApplicationForMimeType(pchAppKey, pchMimeType);
		}

		// Token: 0x06001BD7 RID: 7127 RVA: 0x0005F900 File Offset: 0x0005DB00
		public bool GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetDefaultApplicationForMimeType(pchMimeType, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06001BD8 RID: 7128 RVA: 0x0005F924 File Offset: 0x0005DB24
		public bool GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer)
		{
			return this.FnTable.GetApplicationSupportedMimeTypes(pchAppKey, pchMimeTypesBuffer, unMimeTypesBuffer);
		}

		// Token: 0x06001BD9 RID: 7129 RVA: 0x0005F948 File Offset: 0x0005DB48
		public uint GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer)
		{
			return this.FnTable.GetApplicationsThatSupportMimeType(pchMimeType, pchAppKeysThatSupportBuffer, unAppKeysThatSupportBuffer);
		}

		// Token: 0x06001BDA RID: 7130 RVA: 0x0005F96C File Offset: 0x0005DB6C
		public uint GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs)
		{
			return this.FnTable.GetApplicationLaunchArguments(unHandle, pchArgs, unArgs);
		}

		// Token: 0x06001BDB RID: 7131 RVA: 0x0005F990 File Offset: 0x0005DB90
		public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetStartingApplication(pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06001BDC RID: 7132 RVA: 0x0005F9B4 File Offset: 0x0005DBB4
		public EVRApplicationTransitionState GetTransitionState()
		{
			return this.FnTable.GetTransitionState();
		}

		// Token: 0x06001BDD RID: 7133 RVA: 0x0005F9D4 File Offset: 0x0005DBD4
		public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey)
		{
			return this.FnTable.PerformApplicationPrelaunchCheck(pchAppKey);
		}

		// Token: 0x06001BDE RID: 7134 RVA: 0x0005F9F4 File Offset: 0x0005DBF4
		public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state)
		{
			IntPtr ptr = this.FnTable.GetApplicationsTransitionStateNameFromEnum(state);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06001BDF RID: 7135 RVA: 0x0005FA1C File Offset: 0x0005DC1C
		public bool IsQuitUserPromptRequested()
		{
			return this.FnTable.IsQuitUserPromptRequested();
		}

		// Token: 0x06001BE0 RID: 7136 RVA: 0x0005FA3C File Offset: 0x0005DC3C
		public EVRApplicationError LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory)
		{
			return this.FnTable.LaunchInternalProcess(pchBinaryPath, pchArguments, pchWorkingDirectory);
		}

		// Token: 0x040010F4 RID: 4340
		public IVRApplications FnTable;
	}
}
